package Entidades;
import TDA.*;
import Implementaciones.*;

public class Tablero {

	MatrizTDA<Barco> tablero;
	int dimensionTablero;
	Vector<Integer> cantOcupadasEnFilas;
	Vector<Integer> cantOcupadasEnColumnas;
	
	
	public Tablero (int n){
		tablero = new Matriz<Barco>();
		this.dimensionTablero = n;
		tablero.inicializarMatriz(n);
		this.cantOcupadasEnColumnas = new Vector<Integer>();
		this.cantOcupadasEnColumnas.inicializarVector(n);
		this.cantOcupadasEnFilas = new Vector<Integer>();
		this.cantOcupadasEnFilas.inicializarVector(n);
	}
	
	public void setearValor(int i, int j, Barco b){
		tablero.setearValor(i, j, b);
	}
	
	public Barco obtenerValor(int i,int j){
		return tablero.obtenerValor(i, j);
	}
	
	public void setearValorEnfila(int i, int cantOcupadaEnF) throws Exception{
		if (i < this.dimensionTablero){
		 this.cantOcupadasEnFilas.agregarElemento(i,cantOcupadaEnF);
		}
	}
	
	public void setearValorEnColumna(int j, int cantOcupadaEnC) throws Exception{
		if (j < this.dimensionTablero){
		 this.cantOcupadasEnColumnas.agregarElemento(j,cantOcupadaEnC);
		}
	}
	
	public int obtenerValorEnfila(int i) throws Exception{
		 return this.cantOcupadasEnFilas.recuperarElemento(i);
	}
	
	public int obtenerValorEnColumna(int j) throws Exception{
		 return this.cantOcupadasEnColumnas.recuperarElemento(j);
	}
	
	public int obtenerDimensionTablero(){
		return this.dimensionTablero;
	
	}
}
